<?php

class MySQL {

    var $host = 'localhost';
    var $usr = 'root';
    var $pw = '';
    var $db = 'ministerio787_1';
    var $sql; // Query - instruÃ§Ã£o SQL
    var $conn; // ConexÃ£o ao banco
    var $resultado; // Resultado de uma consulta

    function MySQL() {
        
    }

    // Esta funÃ§Ã£o conecta-se ao banco de dados e o seleciona.
    function connMySQL() {
        $this->conn = mysqli_connect($this->host, $this->usr, $this->pw, $this->db);
        if (!$this->conn) {
            echo "<p>NÃ£o foi possÃ­vel conectar-se ao servidor MySQL.</p>\n" .
            "<p><strong>Erro MySQL: " . mysqli_connect_error() . "</strong></p>\n";
            exit();
        } elseif (!mysqli_select_db($this->conn, $this->db)) {
            echo "<p>NÃ£o foi possÃ­vel selecionar o Banco de Dados desejado.</p>\n" .
            "<p><strong>Erro MySQL: " . mysqli_error($this->conn) . "</strong></p>\n";
            exit();
        }
    }

// FunÃ§Ã£o para executar SPs (Stored Procedures). Utiliza-se a funÃ§Ã£o mysqli_multi_query() 
// porque as SPs retornam mais de um conjunto de resultados e a funÃ§Ã£o mysqli_query() nÃ£o consegue 
// trabalhar com respostas mÃºltiplas, ocasionando eventuais erros.
    function execSP($sql) {
        $this->connMySQL();
        $this->sql = $sql;
        if (mysqli_multi_query($this->conn, $this->sql)) {
            $this->resultado = mysqli_store_result($this->conn);
//            $row = mysqli_fetch_array($this->resultado);
//      
//            var_dump($row);
//            die();
            
            $this->closeConnMySQL();
//            mysqli_free_result($this->resultado);
            
            return $this->resultado;
            
        } else {
            echo "<p>NÃ£o foi possÃ­vel executar a seguinte instruÃ§Ã£o â€œ.
â€œSQL:</p><p><strong>$sql</strong></p>\n" .
            "<p>Erro MySQL: " . mysqli_error($this->conn) . "</p>";
            exit();
            $this->closeConnMySQL();
        }
    }

    //FunÃ§Ã£o para encerramento da conexÃ£o com o banco de dados.
    function closeConnMySQL() {
        return mysqli_close($this->conn);
    }

}

// Finaliza a classe MySQL
//Instancia novo objeto da classe MySQL.
?>
